/**
 * @Author: Nick Zhang <thesadboy@vip.qq.com>
 * @Description: 趣味注释工具
 * @Date: 2024-06-19 20:35:20
 * @LastEditors: Nick Zhang <thesadboy@vip.qq.com>
 * @LastEditTime: 2024-06-20 10:32:25
 */
package com.nickzhang.jetbrains.file_description_plugin.utils

class FunComments {
    companion object {
        const val buddhalImg: String = """//
//                       _oo0oo_
//                      o8888888o
//                      88" . "88
//                      (| -_- |)
//                      0\  =  /0
//                    ___/`---'\___
//                  .' \\|     |// '.
//                 / \\|||  :  |||// \
//                / _||||| -:- |||||- \
//               |   | \\\  - /// |   |
//               | \_|  ''\---/''  |_/ |
//               \  .-\__  '-'  ___/-. /
//             ___'. .'  /--.--\  `. .'___
//          ."" '<  `.___\_<|>_/___.' >' "".
//         | | :  `- \`.;`\ _ /`;.`/ - ` : | |
//         \  \ `_.   \_ __\ /__ _/   .-` /  /
//     =====`-.____`.___ \_____/___.-`___.-'=====
//                       `=---='
//
//
//     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//           佛祖保佑     永不宕机     永无BUG
//
"""
        const val buddhalImgSay: String = """//
//                       _oo0oo_
//                      o8888888o
//                      88" . "88
//                      (| -_- |)
//                      0\  =  /0
//                    ___/`---'\___
//                  .' \\|     |// '.
//                 / \\|||  :  |||// \
//                / _||||| -:- |||||- \
//               |   | \\\  - /// |   |
//               | \_|  ''\---/''  |_/ |
//               \  .-\__  '-'  ___/-. /
//             ___'. .'  /--.--\  `. .'___
//          ."" '<  `.___\_<|>_/___.' >' "".
//         | | :  `- \`.;`\ _ /`;.`/ - ` : | |
//         \  \ `_.   \_ __\ /__ _/   .-` /  /
//     =====`-.____`.___ \_____/___.-`___.-'=====
//                       `=---='
//
//
//     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//           佛祖保佑     永不宕机     永无BUG
//
//       佛曰:  
//               写字楼里写字间，写字间里程序员；  
//               程序人员写程序，又拿程序换酒钱。  
//               酒醒只在网上坐，酒醉还来网下眠；  
//               酒醉酒醒日复日，网上网下年复年。  
//               但愿老死电脑间，不愿鞠躬老板前；  
//               奔驰宝马贵者趣，公交自行程序员。  
//               别人笑我忒疯癫，我笑自己命太贱；  
//               不见满街漂亮妹，哪个归得程序员？
//
"""
        const val buddhalSay: String = """//
//          佛曰:  
//                  写字楼里写字间，写字间里程序员；  
//                  程序人员写程序，又拿程序换酒钱。  
//                  酒醒只在网上坐，酒醉还来网下眠；  
//                  酒醉酒醒日复日，网上网下年复年。  
//                  但愿老死电脑间，不愿鞠躬老板前；  
//                  奔驰宝马贵者趣，公交自行程序员。  
//                  别人笑我忒疯癫，我笑自己命太贱；  
//                  不见满街漂亮妹，哪个归得程序员？
//
"""
        const val belle: String = """//
//                       .::::.
//                     .::::::::.
//                    :::::::::::
//                 ..:::::::::::'
//              '::::::::::::'
//                .::::::::::
//           '::::::::::::::..
//                ..::::::::::::.
//              ``::::::::::::::::
//               ::::``:::::::::'        .:::.
//              ::::'   ':::::'       .::::::::.
//            .::::'      ::::     .:::::::'::::.
//           .:::'       :::::  .:::::::::' ':::::.
//          .::'        :::::.:::::::::'      ':::::.
//         .::'         ::::::::::::::'         ``::::.
//     ...:::           ::::::::::::'              ``::.
//    ````':.          ':::::::::'                  ::::..
//                       '.:::::'                    ':'````..
//
//
"""
        const val totemBat: String = """//
//                  ___====-_  _-====___
//            _--^^^#####//      \\#####^^^--_
//         _-^##########// (    ) \\##########^-_
//        -############//  |\^^/|  \\############-
//      _/############//   (@::@)   \############\_
//     /#############((     \\//     ))#############\
//    -###############\\    (oo)    //###############-
//   -#################\\  / VV \  //#################-
//  -###################\\/      \//###################-
// _#/|##########/\######(   /\   )######/\##########|\#_
// |/ |#/\#/\#/\/  \#/\##\  |  |  /##/\#/  \/\#/\#/\#| \|
// `  |/  V  V  `   V  \#\| |  | |/#/  V   '  V  V  \|  '
//    `   `  `      `   / | |  | | \   '      '  '   '
//                     (  | |  | |  )
//                    __\ | |  | | /__
//                   (vvv(VVV)(VVV)vvv)
//
//     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//               神兽保佑            永无BUG
//
"""
        const val totemWestDragon: String = """//
//                                                    __----~~~~~~~~~~~------___
//                                   .  .   ~~//====......          __--~ ~~
//                   -.            \_|//     |||\\  ~~~~~~::::... /~
//                ___-==_       _-~o~  \/    |||  \\            _/~~-
//        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
//    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
//  .~       .~       |   \\ -_    /  /-   /   ||      \   /
// /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
// |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
//          '         ~-|      /|    |-~\~~       __--~~
//                      |-~~-_/ |    |   ~\_   _-~            /\
//                           /  \     \__   \/~                \__
//                       _--~ _/ | .-~~____--~-/                  ~~==.
//                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
//                                 -_     ~\      ~~---l__i__i__i--~~_/
//                                 _-~-__   ~)  \--______________--~~
//                               //.-~~~-~_--~- |-------~~~~~~~~
//                                      //.-~~~--\
//                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//                              神兽保佑            永无BUG
//
"""
        const val jesus: String = """//
//                               |~~~~~~~|
//                               |       |
//                               |       |
//                               |       |
//                               |       |
//                               |       |
//    |~.\\\_\~~~~~~~~~~~~~~xx~~~         ~~~~~~~~~~~~~~~~~~~~~/_//;~|
//    |  \  o \_         ,XXXXX),                         _..-~ o /  |
//    |    ~~\  ~-.     XXXXX`)))),                 _.--~~   .-~~~   |
//     ~~~~~~~`\   ~\~~~XXX' _/ ';))     |~~~~~~..-~     _.-~ ~~~~~~~
//              `\   ~~--`_\~\, ;;;\)__.---.~~~      _.-~
//                ~-.       `:;;/;; \          _..-~~
//                   ~-._      `''        /-~-~
//                       `\              /  /
//                         |         ,   | |
//                          |  '        /  |
//                           \/;          |
//                            ;;          |
//                            `;   .       |
//                            |~~~-----.....|
//                           | \             \
//                          | /\~~--...__    |
//                          (|  `\       __-\|
//                          ||    \_   /~    |
//                          |)     \~-'      |
//                           |      | \      '
//                           |      |  \    :
//                            \     |  |    |
//                             |    )  (    )
//                              \  /;  /\  |
//                              |    |/   |
//                              |    |   |
//                               \  .'  ||
//                               |  |  | |
//                               (  | |  |
//                               |   \ \ |
//                               || o `.)|
//                               |`\\) |
//                               |       |
//                               |       |
//
"""
        const val coderSong: String = """//
//                  江城子 . 程序员之歌
//
//              十年生死两茫茫，写程序，到天亮。
//                  千行代码，Bug何处藏。
//              纵使上线又怎样，朝令改，夕断肠。
//
//              领导每天新想法，天天改，日日忙。
//                  相顾无言，惟有泪千行。
//              每晚灯火阑珊处，夜难寐，加班狂。
//
"""
        const val dog: String = """//
//                       ::
//                      :;J7, :,                        ::;7:
//                      ,ivYi, ,                       ;LLLFS:
//                      :iv7Yi                       :7ri;j5PL
//                     ,:ivYLvr                    ,ivrrirrY2X,
//                     :;r@Wwz.7r:                :ivu@kexianli.
//                    :iL7::,:::iiirii:ii;::::,,irvF7rvvLujL7ur
//                   ri::,:,::i:iiiiiii:i:irrv177JX7rYXqZEkvv17
//                ;i:, , ::::iirrririi:i:::iiir2XXvii;L8OGJr71i
//              :,, ,,:   ,::ir@mingyi.irii:i:::j1jri7ZBOS7ivv,
//                 ,::,    ::rv77iiiriii:iii:i::,rvLq@huhao.Li
//             ,,      ,, ,:ir7ir::,:::i;ir:::i:i::rSGGYri712:
//           :::  ,v7r:: ::rrv77:, ,, ,:i7rrii:::::, ir7ri7Lri
//          ,     2OBBOi,iiir;r::        ,irriiii::,, ,iv7Luur:
//        ,,     i78MBBi,:,:::,:,  :7FSL: ,iriii:::i::,,:rLqXv::
//        :      iuMMP: :,:::,:ii;2GY7OBB0viiii:i:iii:i:::iJqL;::
//       ,     ::::i   ,,,,, ::LuBBu BBBBBErii:i:i:i:i:i:i:r77ii
//      ,       :       , ,,:::rruBZ1MBBqi, :,,,:::,::::::iiriri:
//     ,               ,,,,::::i:  @arqiao.       ,:,, ,:::ii;i7:
//    :,       rjujLYLi   ,,:::::,:::::::::,,   ,:i,:,,,,,::i:iii
//    ::      BBBBBBBBB0,    ,,::: , ,:::::: ,      ,,,, ,,:::::::
//    i,  ,  ,8BMMBBBBBBi     ,,:,,     ,,, , ,   , , , :,::ii::i::
//    :      iZMOMOMBBM2::::::::::,,,,     ,,,,,,:,,,::::i:irr:i:::,
//    i   ,,:;u0MBMOG1L:::i::::::  ,,,::,   ,,, ::::::i:i:iirii:i:i:
//    :    ,iuUuuXUkFu7i:iii:i:::, :,:,: ::::::::i:i:::::iirr7iiri::
//    :     :rk@Yizero.i:::::, ,:ii:::::::i:::::i::,::::iirrriiiri::,
//     :      5BMBBBBBBSr:,::rv2kuii:::iii::,:i:,, , ,,:,:i@petermu.,
//          , :r50EZ8MBBBBGOBBBZP7::::i::,:::::,: :,:,::i;rrririiii::
//              :jujYY7LS0ujJL7r::,::i::,::::::::::::::iirirrrrrrr:ii:
//           ,:  :@kevensun.:,:,,,::::i:i:::::,,::::::iir;ii;7v77;ii;i,
//           ,,,     ,,:,::::::i:iiiii:i::::,, ::::iiiir@xingjief.r;7:i,
//        , , ,,,:,,::::::::iiiiiiiiii:,:,:::::::::iiir;ri7vL77rrirri::
//         :,, , ::::::::i:::i:::i:i::,,,,,:,::i:i:::iir;@Secbone.ii:::
//
"""
        const val totemDragon: String = """//
//......................................&&.........................
//....................................&&&..........................
//.................................&&&&............................
//...............................&&&&..............................
//.............................&&&&&&..............................
//...........................&&&&&&....&&&..&&&&&&&&&&&&&&&........
//..................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..............
//................&...&&&&&&&&&&&&&&&&&&&&&&&&&&&&.................
//.......................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.........
//...................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&...............
//..................&&&   &&&&&&&&&&&&&&&&&&&&&&&&&&&&&............
//...............&&&&&@  &&&&&&&&&&..&&&&&&&&&&&&&&&&&&&...........
//..............&&&&&&&&&&&&&&&.&&....&&&&&&&&&&&&&..&&&&&.........
//..........&&&&&&&&&&&&&&&&&&...&.....&&&&&&&&&&&&&...&&&&........
//........&&&&&&&&&&&&&&&&&&&.........&&&&&&&&&&&&&&&....&&&.......
//.......&&&&&&&&.....................&&&&&&&&&&&&&&&&.....&&......
//........&&&&&.....................&&&&&&&&&&&&&&&&&&.............
//..........&...................&&&&&&&&&&&&&&&&&&&&&&&............
//................&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&............
//..................&&&&&&&&&&&&&&&&&&&&&&&&&&&&..&&&&&............
//..............&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&....&&&&&............
//...........&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&......&&&&............
//.........&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&.........&&&&............
//.......&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&...........&&&&............
//......&&&&&&&&&&&&&&&&&&&...&&&&&&...............&&&.............
//.....&&&&&&&&&&&&&&&&............................&&..............
//....&&&&&&&&&&&&&&&.................&&...........................
//...&&&&&&&&&&&&&&&.....................&&&&......................
//...&&&&&&&&&&.&&&........................&&&&&...................
//..&&&&&&&&&&&..&&..........................&&&&&&&...............
//..&&&&&&&&&&&&...&............&&&.....&&&&...&&&&&&&.............
//..&&&&&&&&&&&&&.................&&&.....&&&&&&&&&&&&&&...........
//..&&&&&&&&&&&&&&&&..............&&&&&&&&&&&&&&&&&&&&&&&&.........
//..&&.&&&&&&&&&&&&&&&&&.........&&&&&&&&&&&&&&&&&&&&&&&&&&&.......
//...&&..&&&&&&&&&&&&.........&&&&&&&&&&&&&&&&...&&&&&&&&&&&&......
//....&..&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&...........&&&&&&&&.....
//.......&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&..............&&&&&&&....
//.......&&&&&.&&&&&&&&&&&&&&&&&&..&&&&&&&&...&..........&&&&&&....
//........&&&.....&&&&&&&&&&&&&.....&&&&&&&&&&...........&..&&&&...
//.......&&&........&&&.&&&&&&&&&.....&&&&&.................&&&&...
//.......&&&...............&&&&&&&.......&&&&&&&&............&&&...
//........&&...................&&&&&&.........................&&&..
//.........&.....................&&&&........................&&....
//...............................&&&.......................&&......
//................................&&......................&&.......
//.................................&&..............................
//..................................&..............................
//
"""
        const val keyboardAll: String = """//
// ┌───┐   ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┐
// │Esc│   │ F1│ F2│ F3│ F4│ │ F5│ F6│ F7│ F8│ │ F9│F10│F11│F12│ │P/S│S L│P/B│  ┌┐    ┌┐    ┌┐
// └───┘   └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┘  └┘    └┘    └┘
// ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┐ ┌───┬───┬───┬───┐
// │~ `│! 1│@ 2│# 3│${'$'} 4│% 5│^ 6│& 7│* 8│( 9│) 0│_ -│+ =│ BacSp │ │Ins│Hom│PUp│ │N L│ / │ * │ - │
// ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┤ ├───┼───┼───┼───┤
// │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{ [│} ]│ | \ │ │Del│End│PDn│ │ 7 │ 8 │ 9 │   │
// ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ├───┼───┼───┤ + │
// │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  │               │ 4 │ 5 │ 6 │   │
// ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤     ┌───┐     ├───┼───┼───┼───┤
// │ Shift  │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│  Shift   │     │ ↑ │     │ 1 │ 2 │ 3 │   │
// ├─────┬──┴─┬─┴──┬┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ ┌───┼───┼───┐ ├───┴───┼───┤ E││
// │ Ctrl│    │Alt │         Space         │ Alt│    │    │Ctrl│ │ ← │ ↓ │ → │ │   0   │ . │←─┘│
// └─────┴────┴────┴───────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ └───────┴───┴───┘
//
"""
        const val keyboardSmall: String = """//
// ┌─────────────────────────────────────────────────────────────┐
// │┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐│
// ││Esc│!1 │@2 │#3 │${'$'}4 │%5 │^6 │&7 │*8 │(9 │)0 │_- │+= │|\ │`~ ││
// │├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤│
// ││ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{[ │}] │ BS  ││
// │├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤│
// ││ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│" '│ Enter  ││
// │├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤│
// ││ Shift  │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│Shift │Fn ││
// │└─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘│
// │      │Fn │ Alt │         Space         │ Alt │Win│   HHKB   │
// │      └───┴─────┴───────────────────────┴─────┴───┘          │
// └─────────────────────────────────────────────────────────────┘
//
"""
        const val grassHorse: String = """//
//
//　　┏┓　　　┏┓+ +
//　┏┛┻━━━┛┻┓ + +
//　┃　　　　　　　┃ 　
//　┃　　　━　　　┃ ++ + + +
// ████━████ ┃+
//　┃　　　　　　　┃ +
//　┃　　　┻　　　┃
//　┃　　　　　　　┃ + +
//　┗━┓　　　┏━┛
//　　　┃　　　┃　　　　　　　　　　　
//　　　┃　　　┃ + + + +
//　　　┃　　　┃
//　　　┃　　　┃ +  神兽保佑
//　　　┃　　　┃    代码无bug　　
//　　　┃　　　┃　　+　　　　　　　　　
//　　　┃　 　　┗━━━┓ + +
//　　　┃ 　　　　　　　┣┓
//　　　┃ 　　　　　　　┏┛
//　　　┗┓┓┏━┳┓┏┛ + + + +
//　　　　┃┫┫　┃┫┫
//　　　　┗┻┛　┗┻┛+ + + +
//
"""
        const val grassHorse2: String = """//
//
//   ┏┓　　　┏┓
// ┏┛┻━━━┛┻┓
// ┃　　　　　　　┃
// ┃　　　━　　　┃
// ┃　＞　　　＜　┃
// ┃　　　　　　　┃
// ┃...　⌒　...　┃
// ┃　　　　　　　┃
// ┗━┓　　　┏━┛
//     ┃　　　┃　
//     ┃　　　┃
//     ┃　　　┃
//     ┃　　　┃  神兽保佑
//     ┃　　　┃  代码无bug　　
//     ┃　　　┃
//     ┃　　　┗━━━┓
//     ┃　　　　　　　┣┓
//     ┃　　　　　　　┏┛
//     ┗┓┓┏━┳┓┏┛
//       ┃┫┫　┃┫┫
//       ┗┻┛　┗┻┛
//
"""
        const val loitumaGirl: String = """//
//_______________#########_______________________ 
//______________############_____________________ 
//______________#############____________________ 
//_____________##__###########___________________ 
//____________###__######_#####__________________ 
//____________###_#######___####_________________ 
//___________###__##########_####________________ 
//__________####__###########_####_______________ 
//________#####___###########__#####_____________ 
//_______######___###_########___#####___________ 
//_______#####___###___########___######_________ 
//______######___###__###########___######_______ 
//_____######___####_##############__######______ 
//____#######__#####################_#######_____ 
//____#######__##############################____ 
//___#######__######_#################_#######___ 
//___#######__######_######_#########___######___ 
//___#######____##__######___######_____######___ 
//___#######________######____#####_____#####____ 
//____######________#####_____#####_____####_____ 
//_____#####________####______#####_____###______ 
//______#####______;###________###______#________ 
//________##_______####________####______________ 
//
"""
        fun getRandomFunComment(): String {
            val funComments = arrayOf(
                buddhalImg, // 佛祖
                buddhalImgSay, // 佛祖+佛曰
                buddhalSay, // 佛曰
                totemDragon, // 龙图腾
                belle, // 美女
                coderSong, // 程序员之歌
                loitumaGirl, // 甩葱少女
                keyboardAll, // 全键盘
                keyboardSmall, // 小键盘
                totemWestDragon, // 喷火龙
                jesus, // 耶稣
                dog, // 狗
                grassHorse, // 草泥马
                grassHorse2, // 草泥马2
                totemBat, // 蝙蝠
            )
            return funComments.random()
        }
    }

}
